1. Field of the Invention
The present invention relates, generally, to communication network management and, in one embodiment, to methods and apparatus for simultaneously preventing loss of signal and dropped connections between multiple mobile stations, such as cellular or PCS telephones, and a communication infrastructure (network).
2. Description of Related Art
Rather than just providing a means for emergency communications, cellular telephones are rapidly becoming a primary form of communication in today""s society. As cellular telephone usage becomes widespread, cellular telephone networks are becoming increasingly prevalent and are providing coverage over larger areas to meet consumer demand. FIG. 1 depicts an example of a mobile station (MS) 10 operated by a mobile user that roves through a geographic area served by a wireless infrastructure or network including a first base station (BS) 12 with wireless sectors A 14 and sector B 16, and a second BS 18, with a sector C 20. In the course of such roving, MS 10 travels from position A to position B to position C and will, as a matter of course, experience variations in signal strength and signal quality of the forward link associated with the BS(s) that it is in contact with. Signal strength and quality can be especially undependable near the edges of the sectors, such as when the MS 10 transitions from the area defined by the dotted line of Sector A 14 to the area defined by the dotted line of Sector B 16, or from Sector B 16 to Sector C 20. It is in these transition areas, as well as other areas of weak signal strength or quality, where dropped connections are likely to occur. A connection as referred to herein includes, but is not limited to, voice, multimedia video or audio streaming, packet switched data and circuit switched data connections, short message sequences or data bursts, and paging.
Dropped connections can range from being a nuisance to devastating for cellular telephone users. For example, a dropped emergency 911 connection can be critical or even fatal. Dropped connections can create consumer frustration significant enough to cause the consumer to change service providers. Thus, the prevention of dropped connections is of major importance to cellular network providers.
FIG. 2 illustrates an exemplary communication link 22 between a MS 24 and a BS 26. Communications from the BS 26 to the MS 24 are called the forward link, and communications from the MS 24 to the BS 26 are called the reverse link. A BS 26 is typically comprised of multiple sectors, usually three. Each sector includes a separate transmitter and antenna (transceiver) pointed in a different direction. Because the term BS is often used to generally identify a transceiver, it should be understood that the terms BS and sector are used herein somewhat interchangeably. The forward and reverse links utilize a number of forward and reverse channels. For example, the BS 26 broadcasts on a plurality of forward channels. These forward channels may include, but are not limited to, one or more pilot channels, a sync channel, one or more paging channels, and multiple forward traffic channels. The pilot, sync, and paging channels are referred to as common channels because the BS 26 communicates those channels to all MSs. Generally, these common channels are not used to carry data, but are used to broadcast and deliver common information. In contrast, the multiple forward traffic channels are referred to as dedicated channels, because each forward traffic channel is intended for a specific MS 24 and may carry data.
Each sector within BS 26 broadcasts a pilot channel that identifies that sector and is simple for a MS 24 to decode. Both sectors and pilot channels are distinguished by pseudo-noise (PN) offsets. The word xe2x80x9cpilotxe2x80x9d can be used almost interchangeably with the term sector, because a pilot channel identifies a sector.
The pilot channel implicitly provides timing information to the MS, and is also used for coherent demodulation, but it otherwise typically does not contain any data. When a MS is first powered up, it begins searching for a pilot channel. When a MS acquires (is able to demodulate) a pilot channel, the timing information implicit in the pilot channel allows the MS to quickly and easily demodulate a sync channel being transmitted by the network.
Because the sync channel contains more detailed timing information, once the MS acquires the sync channel, the MS is then able to acquire a paging channel being transmitted by the same BS that is transmitting the pilot channel. That BS is known as the active BS.
When a cellular network is attempting to initiate communications with a MS through a particular BS, a xe2x80x9cpagexe2x80x9d is transmitted to that MS on the paging channel of that BS. Thus, once the MS is able to demodulate the paging channel of a particular BS, the MS may then monitor that paging channel while the MS is idle and waiting for incoming connections or an incoming message.
In general, each BS may utilize one pilot channel, one sync channel and one paging channel that are common for all MSs to receive. However, because there are practical limitations the number of MSs that can be simultaneously paged using one paging channel, some BSs may employ multiple paging channels.
The reverse channels may include an access channel and one or more reverse traffic channels. After a MS receives an incoming page from a BS, the MS will initiate a connection setup using, in part, an access channel.
The previously described channels may employ different coding schemes. In time division multiple access (TDMA), multiple channels may be communicated at a particular frequency within a certain time window by sending them at different times within that window. Thus, for example, channel X may use one set of time slots while channel Y may use a different set of time slots. In frequency division multiple access (FDMA), multiple channels may be communicated at a particular time within a certain frequency window by sending them at different frequencies within that window. In code division multiple access (CDMA), given a space of frequency and time, channels are defined by codes such as Walsh codes or quasi-orthogonal functions (QOF) such that the channels have minimal interference with one another even though they may be transmitted in the same frequency band and during the same time. In direct sequence CDMA, the data from each channel is coded using Walsh codes or QOFs and then combined into a composite signal. This composite signal is spread over a wide frequency range at a particular time. When this composite signal is decoded using the same code used to code the original data, the original data may be extracted. This recovery of the original data is possible because Walsh codes and QOFs create coded data that, when combined, don""t interfere with each other, so that the data can be separated out at a later point in time to recover the information on the various channels. In other words, when two coded sequences of data are added together to produce a third sequence, by correlating that third sequence with the original codes, the original sequences can be recovered. When demodulating with a particular code, knowledge of the other codes is not necessary. However, noise and interference in the field may require error correction to determine what was actually transmitted. The CDMA wireless communication system is fully described by the following standards, all or which are published by the TELECOMMUNICATIONS INDUSTRY ASSOCIATION, Standards and Technology Department, 2500 Wilson Blvd., Arlington, Va. 22201, and all of which are herein incorporated by reference: TIA/EIA-95B, published Feb. 1, 1999; and TIA/VEIA/IS-2000, Volumes 1-5, Release A, published Mar. 1, 2000.
With further reference to CDMA for purposes of illustration only, the Walsh codes or QOFs are used to code a particular channel. Thus, as described above, the simple to decode pilot channel may be the all one coded W0 Walsh code. Similarly, the sync channel may use the alternating polarity W32 Walsh code and again, these codes are fixed and known.
Each MS groups the channels into various sets, which may include, but is not limited to, an active set, a neighbor set, a candidate set, and a remaining set.
The MS active set contains the pilots or PN offset identifiers that a MS is utilizing at any point in time. Thus, when a MS is idle, but monitoring a single BS for pages and overhead updates, the active set for that MS will contain that BS pilot or PN offset identifier as its only member.
There may be instances, however, when a MS is being handed off from one BS or sector to another, and during this handoff may actually be in communication with multiple BSs or sectors at the same time. When this occurs, multiple active pilots will be in the active set at the same time. For example, in a xe2x80x9csoft handoff,xe2x80x9d a MS in communication with BS xe2x80x9cAxe2x80x9d will begin to communicate with a BS xe2x80x9cBxe2x80x9d without first dropping BS xe2x80x9cA,xe2x80x9d and as a result both BS xe2x80x9cAxe2x80x9d and xe2x80x9cBxe2x80x9d will be in the active set. In a xe2x80x9csofter handoff,xe2x80x9d a MS in communication with sector xe2x80x9cAxe2x80x9d in BS xe2x80x9cAxe2x80x9d will begin to communicate with a sector xe2x80x9cBxe2x80x9d in BS xe2x80x9cAxe2x80x9d without first dropping sector xe2x80x9cA,xe2x80x9d and as a result both sector xe2x80x9cAxe2x80x9d and xe2x80x9cBxe2x80x9d will be in the active set. In a xe2x80x9chard hand-off,xe2x80x9d however, a MS in communication with BS xe2x80x9cAxe2x80x9d will begin to communicate with a BS xe2x80x9cBxe2x80x9d only after first dropping BS xe2x80x9cA,xe2x80x9d and as a result either BS xe2x80x9cAxe2x80x9d or xe2x80x9cBxe2x80x9d will be in the active set at any one time, but not both.
During the time in which the MS is in communication with multiple BSs, the MS assigns rake receiver fingers to multiple channels from one or more sectors at the same time. When a MS is in communication with multiple BSs at the same time, the MS should be receiving the same data from both of those BSs. However, although the data may be the same, it may be communicated differently from different BSs because the channels may be different. The rake receiver will therefore receive encoded data from different sectors on different channels, demodulate those sectors independently, and then combine the data. When the data is combined, the data from a strong channel may be weighted more heavily than data from a weak channel, which is likely to have more errors. Thus, the data with a higher likelihood of being correct is given higher weight in generating the final result.
When a MS is idle, a neighbor set which includes BSs that are neighbors to the active BS is received by the MS on a common channel. However, when a MS is active and communicating with a BS through a traffic channel, the neighbor set is updated on a traffic channel.
Any other BSs in the network that are not in the active, neighbor, or candidate sets (discussed below) comprise the remaining set. As illustrated in FIG. 3, whether a MS is idle or active, the network repeatedly sends overhead messages 30, 32 and 34 to the MS. These overhead messages contain information about the configuration of the network. For example, the extended neighbor list overhead message 34 tells the MS what neighbors exist and where to look for them. These neighbor identifiers are stored, at least temporarily, within the memory of the MS.
The candidate set is a set of BSs that the MS has requested as part of its active set, but have not yet been promoted to the active set. These candidate BSs have not yet been promoted because the network has not sent a hand-off direction message (HDM) to the MS in reply to the message from the MS, directing that MS change its active set to include these BSs. Typically, the exchange of such messages occurs as part of the handoff process, described below.
FIG. 4 depicts a generic structure of a wireless infrastructure 56. A client MS 36 continually monitors the strength of pilot channels it is receiving from neighboring BSs, such as BS 38, and searches for a pilot that is sufficiently stronger than a xe2x80x9cpilot add threshold value.xe2x80x9d The neighboring pilot channel information, known in the art as a Neighbor Set, may be communicated to the MS through network infrastructure entities including BS controllers (BSC) 40 that may control a cell cluster 42, or a mobile switching center (MSC) 44. It should be understood that the MS and one or more of these network infrastructure entities contain one or more processors for controlling the functionality of the MS and the network. The processors include memory and other peripheral devices well understood by those skilled in the art. As the MS 36 moves from the region covered by one BS 38 to another, the MS 36 promotes certain pilots from the Neighbor Set to the Candidate Set, and notifies the BS 38 or BSs of the promotion of certain pilots from the Neighbor Set to the Candidate Set via a Pilot Strength Measurement Message (PSMM). The PSMM also contains information on the strength of the received pilot signals. The BS 38 determines a BS or network Active Set according to the Pilot Strength Measurement Message, and may notify the MS 36 of the new Active Set via an HDM. It should be noted, however, that the new active set may not always exactly comply with the MS""s request, because the network may have BS resource considerations to deal with.
The MS 36 may maintain communication with both the old BS 38 and the new BS so long as the pilots for each BS are stronger than a xe2x80x9cpilot drop threshold value.xe2x80x9d When one of the pilots weakens to less than the pilot drop threshold value, the MS 36 notifies the BSs of the change. The BSs may then determine a new Active Set, and notify the MS 36 of that new Active Set. Upon notification by the BSs, the MS 36 then demotes the weakened pilot to the Neighbor Set. This is one example of a handoff scenario. It is typical for a MS 36 to be starting a handoff or in the process of handoff when connections fail. This is expected because poor coverage or weak signal environments generally exist near cell boundaries, in areas of pilot pollution, or areas significantly affected by cell breathing, all which are well known in the art.
A dropped connection may manifest in a number of ways. FIG. 5 shows a situation known in the art as a Layer 2 Acknowledgment Failure for a CDMA wireless network. In the example of FIG. 5, the MS is transmitting a PSMM 48 requiring an acknowledgment by the BS. The BS may be receiving it correctly, but in the case shown in FIG. 5, the MS is not receiving the BS""s acknowledgment (ACK) 46. The MS will retransmit the message N1m(=9) times in accordance with a retransmission counter and then terminate (drop) the connection. It is common for this type of failure to occur when the message that the Layer 2 Acknowledgment Failure occurs for is a PSMM 48 which includes a request for a pilot that is needed by the MS to maintain the connection.
FIG. 6 shows a second situation for which recovery is possible using the current invention in a CDMA wireless network. This situation is known in the art as a Forward Link Fade Failure. A fade is a period of attenuation of the received signal power. In this situation, the MS receives N2m(=12) consecutive bad frames 50, the response to which is to disable its transmitter 52. If it is then unable to receive N3m(=2) consecutive good frames before a fade timer expires after T5m(=5) seconds, the MS drops the connection 54. It is common for this type of failure to occur during the time that a MS promotes a pilot to the candidate set and needs to send a PSMM, or after a MS has sent a PSMM but before receiving a handoff direction message.
Layer 2 Acknowledgment Failures and Forward Link Fade Failures may occur because of excessively high frame errorrates or bursty error rates. As illustrated in FIG. 7, a channel 58 may be broken up into slots 60, or superframes, typically of 80 millisecond duration. Each slot may be divided into three phases 62. These phases are numbered: 0, 1 and 2. Overlapping on top of the phases are four frames 64. These four frames are aligned with the three phases at the superframe boundaries. Each frame 64 is therefore typically 20 milliseconds long. Within each frame 64 is a header area 66, some signaling information 68 and perhaps some data 70. It should be understood that the content of the frames 64 can differ. One frame may contain signaling and data, another may contain only signaling, and yet another may contain only data. Each frame 64 may also have a different data rate, which can be changed on a frame-by-frame basis. In some example communication standards, there are four rates: full, one-half, one-fourth and one-eighth. Thus, for example, with no voice activity, information may be transmitted at a one-eighth frame rate, which would be beneficial because less power or bandwidth is required to communicate information at a slower rate.
In a practical communications network, it is neither realistic nor desirable to target an error rate of zero percent (i.e., all frames received properly). Rather, a frame error rate of one percent, for example, is targeted. Power control loops actually control this frame error rate. In this example, if the frame error rate rises above one percent, then the power control loop might increase the power of signals transmitted by the MS so that the frame error rate decreases to approximately one percent. On the other hand, if the frame error rate is less than one percent, the power control loop may reduce transmitted power to save power and allow the frame error rate to move up to one percent. The BS may therefore continuously instruct the MS, through power control bits in a configuration message, to transmit at various power levels to maintain an error rate of approximately one percent as the MS moves around in a particular area, or other types of interferences begin or end. The MS typically abides by the power levels that are being recommended to it by the BS. In addition, the BS can also change its transmitter power for a particular channel. Thus, both the BS and the MS may continuously provide each other feedback in order to change the other""s power levels. However, the BS may not necessarily change its transmitter power levels based on the feedback from the MS.
Despite the aforementioned power control loop, error rates may not be controllable to about one percent as a MS moves about in a cellular network and experiences variations in signal strength and signal quality due to physical impediments, interference from adjacent channels, and positions near the edges of sectors, and as the error rates rise to intolerable levels, dropped connections become a problem.
Rescue procedures based on the reverse link or restarting the connection have previously been proposed. In a typical reverse based rescue procedure, the MS transmits a rescue channel while the communications network utilizes one or more sectors in an attempt to demodulate the rescue channel. However, proposed rescue procedures based on restarting the connection utilize the random access channel and require a lot of power because the MS is probing, which also introduces a lot of interference. In addition, proposed reverse-based rescue procedures were activated only during a forward fade condition, and are deficient because the MS transmits before the BS, which is less efficient for reasons which will be explained hereinafter.
To overcome the deficiencies presented by reverse-based rescue procedures, forward based rescue procedures have been proposed. One such forward based rescue procedure is disclosed in U.S. utility application Ser. No. 09/978,974 entitled xe2x80x9cForward Link Based Rescue Channel Method and Apparatus for Telecommunication Systems,xe2x80x9d filed Oct. 16, 2001, which describes methods and apparatus for preventing loss of signal and dropped connections between a MS and the infrastructure in a telecommunications network. A connection as referred to herein includes, but is not limited to, voice, multimedia video and audio streaming, packet switched data and circuit switched data calls, short message sequences or data bursts, and paging. The procedure, which will be generally referred to herein as the Forward Rescue Procedure (FRP), allows systems to recover from failures at the MS or BS that would otherwise result in dropped connections. Examples of failure scenarios that can be overcome using the FRP include forward link Layer 2 (L2) acknowledgement failures and loss of forward link signal due to a fade that causes loss of signal for a period of time exceeding a threshold value. In response to a potential connection drop situation, a MS will autonomously add BS pilot channels to the active set of its rake receiver in order to rescue the connection in danger of dropping. Concurrently, the network infrastructure will initiate transmission on alternative forward link channels that are likely to be monitored by the MS during an FRP. If the same channels are monitored by the MS and transmitted on by the infrastructure, the connection in danger of dropping can be rescued.
The general FRP includes a MS FRP, and may also include an infrastructure FRP. FIG. 8 illustrates an example of the timeline of the MS FRP and infrastructure FRP in a typical connection rescue. As mentioned above, although the MS FRP is central to any rescue, the infrastructure FRP, although recommended, is not strictly necessary.
Triggering of the MS FRP depends upon the type of failure that occurs. In the case of a Layer 2 failure, the FRP is activated upon a number of failed retransmissions of a message requiring acknowledgments. In the case of a Forward Link Fade Failure, the FRP is activated if there exists a loss of signal for a period of time exceeding a threshold value (see reference character 72).
The MS starts an FRP timer at the time the rescue attempt is started (see reference character 74). If the FRP timer expires before the rescue is complete, then the connection is dropped. In addition, at the time the rescue attempt is started, the MS turns off its transmitter and selects a new active set (see reference character 74). In this embodiment, the MS effectively assumes a handoff direction based on the PSMM(s) that it has sent (whether or not the PSMM was actually sent, successfully sent, or acknowledged). In other words, the MS promotes pilots to the Active set autonomously without a handoff direction (i.e. the new active set is the union of the old active set and the autonomously promoted active pilots: Sxe2x80x3=S U Sxe2x80x2) (see reference character 76). The MS then begins to cycle through this new Active set searching for a rescue channel. As noted above, although the term rescue channel encompasses the various schemes for defining channels as utilized by the various communication protocols, for purposes of simplifying the disclosure, a rescue channel will herein be identified as an Assumed Code Channel (ACC) (see reference character 78).
As noted above, the infrastructure FRP, although recommended, is not strictly necessary for every BS in the network. If the infrastructure FRP is implemented (see reference character 80), the infrastructure (network) selects sectors from which it will transmit the ACC.
In one embodiment of the FRP, null (blank) data is transmitted over the ACC during rescue. In other embodiments, data may be communicated over the ACC, although a MS would only hear this data if it actually finds and successfully demodulates that ACC.
At some point in time, the MS will find and demodulate N3M good frames of the ACC (see reference character 82), turn on its transmitter, and begins to transmit back to the BS. Once both the MS and BS receive a predetermined number of good frames, the rescue is completed (see reference character 84) and the BS may re-assign the MS to more permanent channels. Additionally, the network may re-assign the ACCs via overheads, for example. The BSs may also re-assign the MS active set to clean up after the rescue by sending a Rescue Completion Handoff message 86 which can re-use any existing handoff messages such as General or Universal Handoff Direction messages. For additional detail on the forward based rescue procedure, see U.S. utility application Ser. No. 09/978,974 entitled xe2x80x9cForward Link Based Rescue Channel Method and Apparatus for Telecommunication Systems,xe2x80x9d filed Oct. 16, 2001.
However, the FRP described above only discloses a procedure for rescuing a single connection at a time. Thus, a mechanism is needed to simultaneously rescue multiple connections in danger of being dropped.
Embodiments of the present invention provide an efficient and safe procedure to rescue communication connections from dropping when multiple connections are failing simultaneously. The simultaneous rescue of connections is applicable to both forward and reverse-based rescue procedures. In one approach, the network can assign rescue codes to the MSs, and simultaneous rescues can thereafter be initiated using rescue channels defined by the rescue codes. To minimize the chance of collisions, the network may attempt to ensure that the MSs in need of rescue use different rescue codes, to the extent possible. This may be accomplished by having many rescue codes, strategically assigning rescue codes, pseudo-randomly assigning rescue codes to MSs (e.g. using an ESN-based hash), and the like.
In one embodiment of the present invention, each time a MS fails, the remaining MSs may be assigned an equal distribution of rescue codes not being used by a failing MS, until there was only one unused rescue code remaining, at which time all remaining MSs would be assigned to that one unused rescue code. In addition, as a failing MS is rescued, its assigned rescue code can be made available again, and the strategic assignment of rescue codes can be revised to account for this newly available resource. In an alternative embodiment, each time a MS fails, the MS next most likely to fail would be assigned a rescue code not being used by a failing MS, and the remaining MSs would be assigned an equal distribution of the remaining rescue codes not being used by a failing MS. When there is only one unused rescue code remaining, all of the remaining MSs would be assigned an equal distribution of all rescue codes.
In another non-mutually exclusive approach, the network can sequentially rescue the connections in danger of being dropped using rescue slots. In this rescue slot approach, the rescue of simultaneously occurring failing connections are sequenced so that simultaneous rescues are actually avoided. Individual MSs choose, or are assigned, different rescue slots in which to attempt a rescue. A rescue slot may be defined to equal to a typical rescue duration, so that each rescue slot should provide enough time to effect a rescue. Alternatively, the rescue slot may be equal to the MS transmit duration during a rescue attempt, or less than the MS transmit duration.
The network system time can be divided into rescue cycles and rescue slots, wherein each MS will be assigned to a particular rescue slot within a rescue cycle. The length of the rescue cycle and the number of rescue slots in the rescue cycle may be defined by a particular communication standard, or may be configurable using overhead messages. Every MS uses the same system time reference to calculate when its assigned rescue slot occurs, and rescue can begin. Note that multiple MSs may be assigned to the same rescue slot.